home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / etc / pcmcia / memory < prev    next >
Text File  |  2005-10-18  |  2KB  |  89 lines

  1. #!/bin/sh
  2. #
  3. # memory 1.28 2000/12/15 19:04:03 (David Hinds)
  4. #
  5. # Initialize or shutdown a PCMCIA memory device
  6. #
  7. # The first argument should be either 'start' or 'stop'.  The second
  8. # argument is the base name for the device.
  9. #
  10. # This script creates character devices for direct access to the PCMCIA
  11. # address spaces:
  12. #
  13. #    /dev/{name}c    - common memory direct access device
  14. #    /dev/{name}a    - attribute memory direct access device
  15. #
  16. # It also creates character and block devices for accessing the first
  17. # attribute and common memory partitions:
  18. #
  19. #       /dev/{name}c0c  - common memory, character device
  20. #       /dev/{name}c0b  - common memory, block device
  21. #       /dev/{name}a0c  - attribute memory, character device
  22. #
  23. # The script passes an extended device address to 'memory.opts' in the 
  24. # ADDRESS variable, to retrieve device-specific configuration options
  25. # for the common-memory block device.
  26. #
  27. # The address format is "scheme,socket" where "scheme" is the current
  28. # PCMCIA device configuration scheme, and "socket" is the socket number.
  29. #
  30.  
  31. if [ -r ./shared ] ; then . ./shared ; else . /etc/pcmcia/shared ; fi
  32.  
  33. # Get device attributes
  34. get_info $DEVICE
  35.  
  36. # Load site-specific settings
  37. ADDRESS="$SCHEME,$SOCKET"
  38. . $0.opts
  39.  
  40. case "$ACTION" in
  41.  
  42. 'start')
  43.     [ "$VERBOSE" -a "$INFO" ] && echo "$INFO"
  44.     rm -f /dev/${DEVICE}*
  45.     if [ "$DRIVER" = "memory_cb" ] ; then
  46.     for N in 0 1 2 3 4 5 6 7 ; do
  47.         log mknod /dev/${DEVICE}s${N} c $MAJOR `expr $MINOR + $N`
  48.     done
  49.     else
  50.     log mknod /dev/${DEVICE}c0c c $MAJOR `expr $MINOR`
  51.     log mknod /dev/${DEVICE}c0b b $MAJOR `expr $MINOR`
  52.     log mknod /dev/${DEVICE}a0c c $MAJOR `expr $MINOR + 4`
  53.     log mknod /dev/${DEVICE}c c $MAJOR `expr $MINOR + 8`
  54.     log mknod /dev/${DEVICE}a c $MAJOR `expr $MINOR + 8 + 4`
  55.     add_blkdev /dev/${DEVICE}c0b || exit 1
  56.     fi
  57.     ;;
  58.  
  59. 'check')
  60.     is_true $NO_CHECK && exit 0
  61.     do_fuser -s /dev/${DEVICE}* && exit 1
  62.     if [ "$DRIVER" != "memory_cb" ] ; then
  63.     do_fuser -s -m /dev/${DEVICE}c0b && exit 1
  64.     fi
  65.     ;;
  66.  
  67. 'stop')
  68.     do_fuser -k /dev/${DEVICE}* > /dev/null
  69.     if [ "$DRIVER" != "memory_cb" ] ; then
  70.     rm_blkdev /dev/${DEVICE}c0b || exit 1
  71.     fi
  72.     rm -f /dev/${DEVICE}*
  73.     ;;
  74.  
  75. 'cksum')
  76.     chk_simple "$NEW_SCHEME,$SOCKET,$INSTANCE" || exit 1
  77.     ;;
  78.     
  79. 'suspend'|'resume')
  80.     ;;
  81.  
  82. *)
  83.     usage
  84.     ;;
  85.  
  86. esac
  87.  
  88. exit 0
  89.